#include<iostream>
#include<unistd.h>
#include<sys/time.h>
#include<sys/resource.h>
#include<signal.h>
#include<jsoncpp/json/json.h>
#include<boost/algorithm/string.hpp>
#include<vector>
#include<ctemplate/template.h>



int main()
{
    std::string in_html="./test.html";
    std::string value="你好呀";

//形成数据字典
    ctemplate::TemplateDictionary root{"test"};
    root.SetValue("key",value);
//获取被渲染网页对象
    ctemplate::Template *tpl=ctemplate::Template::GetTemplate(in_html,ctemplate::DO_NOT_STRIP);
//添加字典数据到网页中
    std::string out_html;//新的网页
    tpl->Expand(&out_html,&root);
    std::cout<<out_html<<std::endl;
}






















// int main()
// {
//     std::vector<std::string> tokens;
//     std::string str="1:判断是否回文串:::::简单:1:30000";
//     const std::string sep=":";
//     boost::split(tokens,str,boost::is_any_of(sep),boost::algorithm::token_compress_on);
//     for(const auto& t:tokens)
//     {
//         std::cout<<t<<std::endl;
//     }
//     return 0;
// }

















// int main()
// {
//     //序列化工作:将结构化数据转化成为一个字符串
//     //Value 是一个Json的中间类，可以填充Key-Val值
//     Json::Value root;
//     root["code"]="mycode";
//     root["user"]="ljq";
//     root["age"]="18";

//     //Json::StyledWriter writer;
//     Json::FastWriter writer;
//     std::string str=writer.write(root);
//     std::cout<<str<<std::endl;
//     return 0;

//     //反序列化：将一个字符串转化成多个Key-Val值
// }









// void handler(int sigo)
// {
//     std::cout<<"sigo:"<<sigo<<std::endl;
//     exit(1);
// }
// int main()
// {
//     for(int i=1;i<=31;i++)
//     {
//         signal(i,handler);
//     }
//     //限制累计运行时常
//      struct rlimit r;
//      r.rlim_cur=1;
//      r.rlim_max=RLIM_INFINITY;

//      setrlimit(RLIMIT_CPU,&r);
//     while(1);
//     // 限制累计空间大小
//     //  struct rlimit r;
//     //  r.rlim_cur=1024*1024*40;20M
//     //  r.rlim_max=RLIM_INFINITY;

//     //  setrlimit(RLIMIT_AS,&r);


//     // int count=0;
//     // while(1)
//     // {
//     //     int *p=new int[1024*1024];
//     //     count++;
//     //     std::cout<<"size:"<<count<<std::endl;
//     //     sleep(1);
//     // }
//     return 0;
// }
